package net.jlibrary.invoice.action.vo;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import net.jlibrary.common.CoreConstants;
import net.jlibrary.common.core.annotation.VoForPo;
import net.jlibrary.common.core.entity.BaseVo;
import net.jlibrary.curbparking.domain.PlateNumber;
import net.jlibrary.invoice.domain.ElectronicInvoiceGfInfo;

@VoForPo(ElectronicInvoiceGfInfo.class)
public class ElectronicInvoiceGfActionVo extends BaseVo {
	private static final long serialVersionUID = -7201010404058565662L;

	private Long id;

	private String ghdwmc;

	private String ghdwsbh;

	private String ghdwdz;

	private String ghdwdh;

	private String ghdwyhmc;

	private String ghdwyh;

	private String gfkhyx;

	private PlateNumberVo plateNumber;// 车牌

	public ElectronicInvoiceGfActionVo() {
		plateNumber = new PlateNumberVo();
	}

	@DateTimeFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT)
	@JsonFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT, timezone = CoreConstants.DATE_TIMEZONE_DEFAULT)
	private Date createdate;

	@DateTimeFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT)
	@JsonFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT, timezone = CoreConstants.DATE_TIMEZONE_DEFAULT)
	private Date lastdate;

	public PlateNumberVo getPlateNumber() {
		return plateNumber;
	}

	public void setPlateNumber(PlateNumberVo plateNumber) {
		this.plateNumber = plateNumber;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getGhdwmc() {
		return ghdwmc;
	}

	public void setGhdwmc(String ghdwmc) {
		this.ghdwmc = ghdwmc;
	}

	public String getGhdwsbh() {
		return ghdwsbh;
	}

	public void setGhdwsbh(String ghdwsbh) {
		this.ghdwsbh = ghdwsbh;
	}

	public String getGhdwdz() {
		return ghdwdz;
	}

	public void setGhdwdz(String ghdwdz) {
		this.ghdwdz = ghdwdz;
	}

	public String getGhdwdh() {
		return ghdwdh;
	}

	public void setGhdwdh(String ghdwdh) {
		this.ghdwdh = ghdwdh;
	}

	public String getGhdwyhmc() {
		return ghdwyhmc;
	}

	public void setGhdwyhmc(String ghdwyhmc) {
		this.ghdwyhmc = ghdwyhmc;
	}

	public String getGhdwyh() {
		return ghdwyh;
	}

	public void setGhdwyh(String ghdwyh) {
		this.ghdwyh = ghdwyh;
	}

	public String getGfkhyx() {
		return gfkhyx;
	}

	public void setGfkhyx(String gfkhyx) {
		this.gfkhyx = gfkhyx;
	}

	public Date getCreatedate() {
		return createdate;
	}

	public void setCreatedate(Date createdate) {
		this.createdate = createdate;
	}

	public Date getLastdate() {
		return lastdate;
	}

	public void setLastdate(Date lastdate) {
		this.lastdate = lastdate;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	@Override
	public Serializable getPrimaryKey() {
		// TODO Auto-generated method stub
		return id;
	}

	@Override
	public Serializable getText() {
		// TODO Auto-generated method stub
		return ghdwmc;
	}

	@VoForPo(PlateNumber.class)
	public class PlateNumberVo extends BaseVo {
		private static final long serialVersionUID = -1033985713586781506L;
		private Long id;
		private String plateNumber;// 车牌

		@DateTimeFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT)
		@JsonFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT, timezone = CoreConstants.DATE_TIMEZONE_DEFAULT)
		private Date createdate;
		@DateTimeFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT)
		@JsonFormat(pattern = CoreConstants.DATETIME_FORMAT_DEFAULT, timezone = CoreConstants.DATE_TIMEZONE_DEFAULT)
		private Date lastdate;

		public Long getId() {
			return id;
		}

		public void setId(Long id) {
			this.id = id;
		}

		public String getPlateNumber() {
			return plateNumber;
		}

		public void setPlateNumber(String plateNumber) {
			this.plateNumber = plateNumber;
		}

		public Date getCreatedate() {
			return createdate;
		}

		public void setCreatedate(Date createdate) {
			this.createdate = createdate;
		}

		public Date getLastdate() {
			return lastdate;
		}

		public void setLastdate(Date lastdate) {
			this.lastdate = lastdate;
		}

		@Override
		public Serializable getPrimaryKey() {
			// TODO Auto-generated method stub
			return id;
		}

		@Override
		public Serializable getText() {
			// TODO Auto-generated method stub
			return plateNumber;
		}

	}

}
